perm filename OUTIT.NEW[1,JRA] blob sn#027881 filedate 1973-03-07 generic text, type T, neo UTF8

(DEFPROP OUTIT 
 (LAMBDA (XYZ) (PROG (STFLG) (SETQ STFLG T) (OUT >ST< XYZ))) 
EXPR)

(DEFPROP Z 
 (NIL AND (EQ (TREEDEP C2) 0) (MATCHER (OR (CL 1) (CL 2) (CL 3)) (TREE C2))) 
VALUE)

(DEFPROP >MATCH< 
 (LAMBDA(%N)
  (OUTRUL %N
	  (FUNCTION
	   (LAMBDA NIL
	    (COND ((AND (MATCH (QUOTE (%NG . *))) (>PRED< 0)) (LIST (VALUE (NIL) PNAME (#51442)) (STK0)))
		  ((AND (MATCH (QUOTE (%NG *))) (>PREDLET< 0)) (LIST (VALUE (NIL) PNAME (#51442)) (STK0)))
		  ((AND (MATCH (QUOTE (CL (* . *)))) (>ID< 1) (>VARLIST< 0))
		   (LIST (STK1) (QUOTE (:CH /[)) (STK0) (QUOTE (:CH /]))))
		  ((>PRED< 1) (STK1))
		  ((AND (MATCH (QUOTE (*))) (>PREDLET< 0)) (STK0))
		  ((AND (MATCH (QUOTE (CL *))) (>ID< 0)) (STK0))
		  ((AND (MATCH (QUOTE (CL *))) (>NUMBER< 0)) (STK0))
		  ((>TM< 1) (STK1))
		  ((AND (MATCH (QUOTE (*))) (>FNLET< 0)) (STK0))))))) 
EXPR)

(DEFPROP >TERM< 
 (LAMBDA(%N)
  (OUTRUL %N
	  (FUNCTION
	   (LAMBDA NIL
	    (COND ((AND (MATCH (QUOTE (DEPTH (LIST *)))) (>VARL< 0))
		   (LIST (QUOTE (:CH ∂)) (QUOTE (:CH /()) (STK0) (QUOTE (:CH /)))))
		  ((AND (MATCH (QUOTE (DEPTH1 (LIST *)))) (>VART< 0))
		   (LIST (QUOTE (:CH ∂)) (QUOTE (:CH /()) (STK0) (QUOTE (:CH /)))))
		  ((AND (MATCH (QUOTE (DEPTH (CDR *)))) (>VARC< 0))
		   (LIST (QUOTE (:CH ∂)) (QUOTE (:CH /()) (STK0) (QUOTE (:CH /)))))
		  ((AND (MATCH (QUOTE (TREEDEP *))) (>VARC< 0))
		   (LIST (QUOTE (:CH β)) (QUOTE (:CH /()) (STK0) (QUOTE (:CH /)))))
		  ((>VARL< 1) (STK1))
		  ((>VART< 1) (STK1))
		  ((>VARC< 1) (STK1))
		  ((AND (MATCH (QUOTE (TREE *))) (>VARC< 0))
		   (LIST (QUOTE TR) (QUOTE (:CH /()) (STK0) (QUOTE (:CH /)))))
		  ((AND (MATCH (QUOTE (LENGTH (CDR *)))) (>VARC< 0))
		   (LIST (QUOTE (:CH α)) (QUOTE (:CH /()) (STK0) (QUOTE (:CH /)))))
		  ((AND (MATCH (QUOTE (NOSYM *))) (>VART< 0))
		   (LIST (QUOTE (:CH α)) (QUOTE (:CH /()) (STK0) (QUOTE (:CH /)))))
		  ((AND (MATCH (QUOTE (NOSYM *))) (>VARL< 0))
		   (LIST (QUOTE (:CH α)) (QUOTE (:CH /()) (STK0) (QUOTE (:CH /)))))
		  ((EQ (QUOTE %PL) (STK1)) (QUOTE (:CH /+)))
		  ((EQ (QUOTE %NG) (STK1)) (QUOTE (:CH /-)))
		  ((AND (MATCH (QUOTE (AND . *))) (>MATCHLIST< 0))
		   (LIST (QUOTE (:CH ⊂)) (STK0) (QUOTE (:CH ⊃))))
		  ((AND (MATCH (QUOTE (OR . *))) (>MATCHLIST< 0))
		   (LIST (QUOTE (:CH ⊃)) (STK0) (QUOTE (:CH ⊂))))
		  ((>NUMBER< 1) (STK1))
		  ((>MATCH< 1) (STK1))))))) 
EXPR)